#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
自动创建默认Django管理员账户的脚本
"""
import os
import sys
import django
from django.core.management import execute_from_command_line

# 设置Django设置模块
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings_ultra_minimal')

# 设置Django
django.setup()

def create_default_admin():
    """创建默认管理员账户"""
    from django.contrib.auth.models import User
    
    # 默认管理员信息
    username = "admin"
    email = "admin@mes.com"
    password = "admin123456"
    
    # 检查是否已存在超级用户
    if User.objects.filter(username=username).exists():
        print(f"❌ 用户 '{username}' 已存在！")
        return False
    
    try:
        user = User.objects.create_superuser(
            username=username,
            email=email,
            password=password
        )
        print("🎉 成功创建默认管理员账户！")
        print("=" * 40)
        print(f"👤 用户名: {username}")
        print(f"📧 邮箱: {email}")
        print(f"🔐 密码: {password}")
        print("=" * 40)
        print("🔗 管理后台地址: http://127.0.0.1:8000/admin/")
        print("⚠️  请在生产环境中修改默认密码！")
        return True
        
    except Exception as e:
        print(f"❌ 创建用户失败: {e}")
        return False

def main():
    """主函数"""
    print("🚀 Django MES 系统初始化")
    print("=" * 50)
    
    # 首先运行迁移
    print("📊 正在运行数据库迁移...")
    try:
        execute_from_command_line(['manage.py', 'migrate', '--settings=settings_ultra_minimal'])
        print("✅ 数据库迁移完成")
    except Exception as e:
        print(f"❌ 数据库迁移失败: {e}")
        return
    
    print("\n👤 创建默认管理员账户...")
    success = create_default_admin()
    
    if success:
        print("\n🎊 系统初始化完成！")
        print("💡 现在可以启动服务器并访问管理后台了")
    else:
        print("\n⚠️  请检查错误信息并重试")

if __name__ == "__main__":
    main() 